Field configurable fan operational profiles

ABSTRACT

A system, apparatus, and procedure for controlling a fan module. The system comprises a chassis having a backplane, at least one fan module arranged in the chassis, and a profile switch. In one embodiment, the profile switch is arranged in the chassis. Each fan module includes at least one fan and a fan module controller arranged to receive a control signal from a shelf controller. The profile switch is arranged to signal the fan module controller so as to control the at least one fan based on operating profiles corresponding to selected switch positions of the switch.

BACKGROUND Field

Example embodiments described herein relate generally to fan control arrangements for rack-mountable electronic equipment and, more particularly, to a profile switch that sets an operational profile for the control of a fan module.

DESCRIPTION OF RELATED ART

Modular electronic equipment is typically arranged in chassis which are, in turn, installed in racks or cabinets. Generally, a telecommunications rack has vertical supports and is open on both sides, whereas a data center cabinet has sides and a back which are generally closed. Each rack or cabinet typically has an opening to receive the chassis. Such openings are typically one of a plurality of standard sizes, such as 23 inches, 19 inches, and 500 millimeters. Data center cabinets generally have a width of 19 inches, while telecommunications racks generally have a width of 23 inches.

One example of a representative chassis is each chassis 102 of the two rack-mountable-chassis (upper and lower) shown in FIG. 1, which is also shown as chassis 1800 in FIG. 1 of U.S. patent application Ser. No. 12/036,029.

The electronic components in the chassis generate heat which is typically removed by cooling fans in chassis. Such fans direct air across the electronic components to remove heat produced therefrom. For example, in one example aspect of the invention in the '029 application, the chassis is configured with forced air cooling provided by one or more fans, such as a fan (not shown) in a compartment 1826 of FIG. 1, and the like. The fan may be positioned and configured to provide forced air movement through the chassis 1800 in a direction from a second lateral surface 1806 to a first lateral surface 1814, or vice versa. The more open configuration of telecommunication racks provides less restriction to air flow, as compared to the closed cabinet configurations found in data centers, which can severely restrict air flow to the chassis. Also, the rack width itself can have an impact on air flow. In general, for a certain deployment environment, a rack having a larger opening will produce less restriction to airflow than a rack having a smaller opening. Further, various rack configurations for a given nominal rack opening width can have an impact on air flow. For example, racks having the same opening dimensions may be configured to meet different standards, such as the Electronic Industries Alliance (EIA) standard or the Seismic Unequal Flange Equipment Rack (SUFER) standard. In the latter case, the SUFER rack will be more restrictive to air flow than an EIA rack.

In addition to physical differences between racks and cabinets, the environment in which racks and cabinets (and the chassis therein) are employed typically differ as well. For example, cabinets are often deployed in data centers, while racks are often deployed in telecommunication offices. Different industry standards apply to environmental requirements for the various environments in which the chassis will operate.

Ambient temperature operational guidelines differ based on the operating environment for the chassis. For example, in a telecommunications office, Telcordia General Requirements Document Number 63 specifies a long and short term operational ambient temperature of 50 C and 40 C respectively. A data center environment conforming to Telcordia General Requirements Document Number 3160 accounts for a more restrictive deployment for chassis or cabinets and compensates with 10 C margin and defines the long term operational temperature of 30 C. Such temperatures represent the maximum temperature at the inlet to the chassis cooling system. Data centers are generally more thermally controlled compared to telecommunication offices. As such, equipment in data centers is not expected to operate at more extreme temperatures than those that may occur in telecommunication offices. Some equipment, like computer servers, is specifically intended for cabinet deployment in data centers and operates using front-to-rear forced cooling air flow. However, some telecommunications equipment is primarily intended for rack deployment in telecommunication offices and operate using side-to-side forced cooling air flow. When such telecommunications equipment is deployed in closed-sided data center cabinets having narrower widths than telecommunication racks, venting and thermal regulation can be more challenging than for rack deployment in telecommunication offices. For example, even though the threshold ambient temperatures are lower for data center environments, as a result of the closed construction of cabinets used to house chassis in data centers, the data center operating environment is considered to be more thermally challenging than that of the telecommunications office owing to airflow restrictions caused by the cabinets.

Also, with regard to acoustic level limits, Telcordia General Requirements Document Numbers 63 and 3160 define the acoustic emission of a product to be limited to 78 dBA for both the telecommunications office and the data center respectively. However, the same chassis and fan module combination will likely produce different sound volume levels when installed in a rack versus a cabinet.

Accordingly, it can be useful to provide a chassis deployed in an operating environment and constructed to take into account the operating environment, mounting configuration, and the number of chassis in the deployment. Furthermore, a system may consist of only one chassis, in which case each chassis has a higher acoustic emission limit.

One solution to complying with the varying thermal and acoustic requirements for the different operating environments that a chassis may encounter is to manufacture different chassis tailored to different operating environments. For example, a chassis has been manufactured which can receive differently constructed fan modules, each of which being constructed for a specific operating environment. However, producing assembled chassis with fan modules pre-installed based on the intended operating environment of the chassis, requires the manufacture of different fan modules to cover the gamut of various chassis configurations. Such a technique is costly.

Another approach to addressing chassis compliance with different operating environments has been to use software to configure the chassis and its component modules for their operating environments. The software is configured by the end user. However, such configurations, in some cases, may require the participation of the end user to deploy, manage, and update the software. Moreover, such configurations also may necessitate software support for older, legacy hardware, which can be costly.

Yet another approach is to operate the fans in such a way that risks violating the thermal or acoustic requirements discussed above. For example, the fans may be operated at their maximum speeds at all times, thereby possibly violating acoustic requirements. Operating continuously at full speed, however, will make power consumption significantly higher. There is a cubed law relationship between RPM percentage and power. For example, running fans at 70% maximum RPM consumes only 35% of the power compared to maximum. (0.7*0.7*0.7=0.34) Also, the fans can be operated at slower speeds all the time, but thereby risk not meeting thermal requirements for the chassis.

SUMMARY

The above and other limitations are overcome by a procedure, and by an apparatus, system and computer program that operate in accordance with the procedure, for operating a fan module.

A system, apparatus, and method are described herein which use a profile switch to set one operating profile out of a plurality of selectable operating profiles associated with the operating environment of a fan module controlled based on the set operating profile.

In accordance with one example embodiment herein, a system includes a chassis having a backplane, at least one fan module arranged in the chassis, and a profile switch. Each fan module includes at least one fan and a fan module controller arranged to receive a control signal from a shelf controller. The profile switch is arranged to signal the fan module controller so as to control the at least one fan based on operating profiles corresponding to selected switch positions of the switch.

In accordance with another example embodiment herein, a fan module includes at least one fan and a fan module controller arranged to control the at least one fan based at least on an external control signal applied to the fan module controller.

In accordance with yet another example embodiment herein, a procedure of controlling a fan module includes setting a switch position of a profile switch which is coupled to at least one fan module, obtaining a fan module controller fan state from a shelf controller, and determining an autonomous state of the fan module controller. Also, the procedure includes setting the fan speed to a normal speed defined for the profile if the fan module controller state and the autonomous state are normal and setting the fan speed to a fast speed defined for the profile if the fan module controller state and/or the autonomous state are not normal.

Additional features and benefits of the exemplary embodiments will become apparent from the detailed description, figures and claims set forth below.

BRIEF DESCRIPTION OF THE DRAWINGS

The teachings claimed and/or described herein are further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, wherein:

FIG. 1 shows a system comprised of two rack-mounted chassis each having a fan module.

FIG. 2 is a schematic of a control arrangement in accordance with an example aspect herein.

FIG. 3 is a flow chart illustrating a procedure for setting a fan profile in accordance with an example aspect herein.

FIG. 4 is a flow chart illustrating a procedure for setting a fan module controller state in accordance with an example aspect herein.

FIG. 5 is a flow chart illustrating a procedure for setting fan speed in accordance with an example aspect herein.

FIG. 6 is a flow chart illustrating a procedure for setting an autonomous state of a fan module controller in accordance with an example aspect herein.

DETAILED DESCRIPTION

Those of ordinary skill in the art will realize in view of this description that the following detailed description of the exemplary embodiments is illustrative only and is not intended to be in any way limiting. Other embodiments will readily suggest themselves to such skilled persons having the benefit of this disclosure. Reference will now be made in detail to implementations of the exemplary embodiments as illustrated in the accompanying drawings. The same reference numbers will be used throughout the drawings and the following detailed description to refer to the same or like parts.

FIG. 1 shows a view of an exemplary embodiment of a chassis 102 shown with a fan module 104 installed in the chassis 102 and connected to a backplane 106 of the chassis 102. One fan module 104 is shown in the embodiment. However, it will be appreciated that in other embodiments, one or more fan modules 104 may be present in the chassis 102.l In one embodiment the fan module 104 has visual indicators, such as LEDs, to indicate a fan profile setting. For example, if 4 profiles are defined, 2 LEDs may be used. The chassis 102 may be arranged like chassis 1800 shown in FIG. 1 of U.S. patent application Ser. No. 12/036,029, filed Feb. 22, 2008, the entire contents of which are incorporated herein by reference. Also shown in FIG. 1 is a profile switch 108 connected to the backplane 106 of the chassis 102. The backplane 106 connects the fan module 104 to the profile switch 108. In one embodiment, the backplane 106 has a connector 114 a, shown schematically in FIG. 2, which mates with or otherwise plugs into a connector 114 b, shown schematically in FIG. 2) on the rear of the fan module 104. In the example embodiment shown in FIG. 1, two shelf controllers 118 are also installed in the chassis 102. In at least one other embodiment, the fan module 104 exists in a fan tray (not shown) which is separate from the chassis 102. Thus, in at least one embodiment, the fan module 104 may not be located in the chassis 102 with the shelf controller 118.

FIG. 2 shows schematically a portion of chassis 102, including the fan module 104, shelf controller 118, and profile switch 108 of FIG. 1. In one embodiment, shelf controller 118 includes at least one processor. As shown in FIG. 2, shelf controller 118 is connected to a memory 119, which is shown as separated from shelf controller 118. However, in other embodiments, memory 119 can be integrated with shelf controller 118, such that in at least one embodiment the shelf controller 118 includes both a memory and a processor. In the example shown in FIG. 2, the fan module 104 includes fan array 110 which is connected to a fan module controller 112. In one embodiment, the fan module controller 112 is constructed as a field programmable gate array (FPGA) which employs control logic to perform control procedures discussed herein to control the speed of fans of the fan array 110. Shelf controller 118 is connected to the fan module controller 112 through the backplane 106 (FIG. 1) and through serial bus 134. The shelf controller 118 optionally is connected to a sensor 120, such as a temperature sensor. The fan module controller 112 is further connected, through the connectors 114 a and 114 b at the backplane 106 (FIG. 1), to the profile switch 108, which has two binary switches 116. Each of the switches 116 can be set in one of two positions providing a total of four possible switch setting combinations for the two switches 116. The four switch setting combinations for switches 116 are shown in the column headed “Switch Settings” in the table labeled “Speed % Table” 140 in FIG. 2. The table 140 can be stored in a memory 115. In another embodiment controller 112 can be constructed as an FPGA or CPLD which can implement the table 140 as a discrete logic that need not be separate from controller 112. As shown in table 140, the switch setting combinations for switches 116 are (0,0), (0,1), (1,0), and (1,1). Each switch setting combination is associated with one fan profile defined in one of the rows of table 140. For example, as shown in FIG. 2, switches 116 are set to (0,1) corresponding to the profile defined by row 142 of table 140.

The profile switch 108 is shown in the embodiment of FIG. 1 extending from backplane 106. Such an arrangement may facilitate the replacement of fan module 104 with another fan module (such as, for example, if fan module 104 failed) without having to configure the replacement fan module with the settings of profile switch 108. In this manner, the fan module 104 and any replacement fan modules “inherit” the same settings of profile switch 108 merely by being connected to the switch 108 through the backplane 106. In another embodiment, the profile switch 108 is integrated into fan module 104. However, for such an arrangement, if the fan module 104 is replaced, an installer may be required to properly configure the profile switch settings of the replacement fan module before use in chassis 102.

In one embodiment, the shelf controller 118, memory 119, and sensor 120 are physically located remote from the fan module 104, and in another embodiment, the shelf controller 118 and sensor 120 may be incorporated into the backplane 106 or other part of chassis 102. In yet another embodiment, the shelf controller 118, memory 119, and sensor 120 are physically located in fan module 104.

In one embodiment, the shelf controller 118 is constructed to execute a procedure for determining a fan module state, as described herein. The shelf controller 118 also is constructed to communicate with the fan module controller 112 using an application programming interface (API) 133, which includes various fields to which the shelf controller (SC) 118 and fan module controller (FC) 112 can read (Rd) values from and/or write (Wr) values into.

The fan array 110 includes one or more fans (not shown) that are constructed for variable speed operation. The fan module controller 112 can control the speed of the fans 110 using pulse width modulation (PWM) control logic, for example, which may control the fans 110 to between, for example, 20 and 100 percent of their full rated speed. In one embodiment, fan module controller 112 has control logic for converting speed (PWM %) values into a control signal 130 sent to the fan array 110. The fan array 110 is constructed to send a status signal 132 (also termed a “TAC” signal) to the fan module controller 112. The status signal 132 can be used by the fan module controller 112 to determine if one or more of the fans of the array 110 have failed as discussed further below.

Each row of table 140 defines a fan profile by a profile type, a “normal” (NR) fan speed, and a “fast” (F) fan speed. In another embodiment, the profile could have additional speeds defined, such as, for example, slow, medium, and fast. The normal and fast fan speeds correspond to fan speed settings for the fans of fan array 110. The values of the fan speeds are specified in table 140 as a pulse width modulation (PWM) output percentage. In one embodiment, the profile types include a fixed type and a variable type. A fixed profile type refers to a profile where the normal and fast fan speeds are predetermined. A variable type refers to a profile where the normal and fast fan speeds are not predetermined, but instead are determined by shelf controller 118, as described further below. For example, shelf controller 118 may have control logic based on an algorithm to determine the normal and fast fan speeds based on a temperature sensed by sensor 120.

The fan profiles shown in table 140 may correspond to a particular deployment environment of the chassis, as indicated further in Table 1 below, which includes additional information from that shown in table 140 of FIG. 2. Table 1 includes example fan speed values (in revolutions per minute, RPM) associated with the normal and fast PWM values noted in table 140.

TABLE 1 Fan Module Status Deployment Profile PWM PWM Environment Profile Switch Normal Output Fast Output (Profile) Type Setting (RPM) (%) (RPM) (%) Tele- Fixed 0, 0 10,000 60 15,000 90 communications Data Center Fixed 0, 1 12,500 73 17,000 100 Software Variable 1, 0 N/A N/A N/A N/A Defined Fast Fixed 1, 1 17,000 100 17,000 100

For example, one of the deployment environments is named “Telecommunications”, which corresponds to a fan profile suitable for when the chassis is deployed in a telecommunications office, which has its own thermal and acoustic environmental standards as noted above. When the telecommunications profile is set by switch 108, the corresponding fixed RPM and PWM output % values listed in Table 1 are used to determine an output value of the speed of the fans in fan array 110, as noted hereinbelow.

Also, for example, another one of the deployment environments in Table 1 is named “Data Center”, which corresponds to a fan profile suitable for when the chassis is deployed in a data center, which has its own thermal and acoustic environmental standards as noted above. When the data center profile is set by switch 108, the corresponding fixed RPM and PWM output % values listed in Table 1 are used to determine the output value of the speed of the fans in the fan array 110, as noted hereinbelow.

Another deployment environment listed in Table 1 is named “Software Defined”, which corresponds to a variable type fan profile. When the profile corresponding to the software defined deployment environment is set by switch 108, the RPM and PWM output % values for NR and F are determined based on control logic of shelf controller 118 as discussed further below.

Another deployment environment listed in Table 1 is named “Fast” (F), which corresponds to a fixed type profile. When the profile corresponding to the fast deployment environment is set by switch 108, the corresponding fixed RPM and PWM output % values listed in Table 1 are used to control the speed of the fans in the fan array 110, as noted hereinbelow. As shown in the example of Table 1, for the fast profile, the fan speeds listed are 100% for both normal and fast. If the fast profile is selected at the profile switch 108, all of the fans 110 will be operated at the same speed defined in Table 1 regardless of the fan module state. Such a setting may be desirable for field service and troubleshooting purposes. While the “fast” profile is described having constant fan speed of 100%, it will be appreciated that in other embodiments, any constant fan speed less than 100% can also be defined.

As shown in the example of API 133 in FIG. 2, the shelf controller (SC) 118 can read the profile setting (i.e., switch setting) and the fan module controller (FC) 104 can write the value of the profile setting. The shelf controller 118 can read and write the fan speed setting values and the fan module controller 112 can read the fan speed setting values. The shelf controller 118 can read the current speed (i.e., status signal 132) and the fan module controller 112 can write the current speed. The field “operation (NR, F)” designates which set of speed values are used, as described further hereinbelow. The shelf controller 118 can write the operation value and the fan module controller 104 can read and write the operation value.

As described above, in the example shown in FIG. 2, the profile switch 108 can be set for one of four profile settings, which are selectable by an installer, such as when the chassis 102 is installed in its operating environment. For example, if the chassis 102 is installed in a cabinet in a data center, an installer can set the profile switch 108 to a “Data Center” profile. By selecting Data Center, the fan module controller 112 will be able to set the speed of the fans 110 based on a fan module state determined by the shelf controller 118, as described further hereinbelow. When the chassis 102 is in service, the profile switch 108 is preferably physically covered to limit further access to changing the settings of the switch 108.

The fan module controller 112 obtains the fan module state signal (the “operation NR or F” field of API 133 in FIG. 2) from the shelf controller 118 via API 133. The state of the fan module 104 may be “normal” or “fast”, as shown in the column headings in Table 1 above and table 140 in FIG. 2. In one example, the state of the fan module 104 may be based on the ambient air temperature sensed by a sensor 120 in communication with the shelf controller 118. For example, in one embodiment the shelf controller 118 is connected to the temperature sensor 120, which is arranged to sense the temperature of ambient air entering the chassis 102. In this example embodiment the shelf controller 118 determines whether the sensed temperature is equal to or above a predetermined threshold temperature or is below the predetermined threshold temperature. If the sensed ambient temperature is determined to be below the predefined threshold temperature, for example, the shelf controller 118 may send a signal to the fan module controller 112l instructing the fan module controller 112 to set the fan module state to “normal”. However, if the sensed ambient temperature is determined to be equal to or above the threshold temperature, the shelf controller 118 may send a signal to the fan module controller 112 instructing fan module controller 112 to set the state of fan module 104 to fast.

The fan module controller 112 is constructed to set the operational speed of the fans 110 based on the setting of fan profile switch 108 and its current state. For example, when the profile switch 108 setting is set to a particular profile and when the shelf controller 118 sets the state of the fan module 104 to be “normal”, as described above, the fan module 104 controller 112 controls the fans 110 in accordance with the normal fan speed listed in Table 1 and table 140 (FIG. 2) corresponding to the set profile. Alternatively, when the shelf controller 118 sets the state of the fan module 104 to be fast, the fan module controller 112 controls the fans of the fan array 110 in accordance with the fast speed listed in Table 1 and table 140 (FIG. 2).

When a software defined profile is selected at the profile switch 108, the shelf controller 118 can set the speed setting using API 133. For example, in one embodiment, when the profile switch 108 is set to the “software defined” profile, the shelf controller 118 determines the fan speed setting in accordance with an algorithm defined by control logic stored in memory 119 and executed by the processor of controller 118. The speed % values are made available to the fan module controller 112 to read through API 133. The fan module controller 112 can then output a PWM control signal 130 based on the determined speed corresponding to the fan module state determined by the shelf controller 118.

The software defined (variable type) profile, in at least some cases, may permit more control flexibility than afforded by implementing the other (fixed) profile settings listed in Table 1. When the software defined profile is set, the shelf controller 118 can implement a more complex algorithm based on ambient temperature and/or component temperature to exert finer control over fan speed. For example, instead of the two fan speeds (normal and fast) defined in each of the predefined profiles, for the software defined (variable) profile the shelf controller 118 can be programmed with a more complex functional relationship so that the fan speed can be more finely controlled based on a sensed parameter, such as one or more of internal chassis temperature, and component temperatures and their published operating temperature limits.

Also, the fan module controller 112 is capable of autonomous operation wherein the fan module controller 112 can determine an autonomous state of the fan module 104 and write the determined state information to the API 133. As shown in FIG. 2, the fan module controller 112 includes a fan failure monitor 138 that autonomously controls the speed of the fans 110 based on a detection of a fan failure based on the status signal 132. For example, where the status signal 132 from the fan array 110 corresponds to a speed below a predetermined threshold, it is possible for the fan failure monitor 138 to determine that a failure of at least one fan has occurred in the fan array 110. If a failure is determined, then the fan module controller 112 can autonomously control the fan module 104 regardless of the state of the fan module 104 determined by the shelf controller 108.

In one embodiment, the fan module controller 112 monitors the status signal 132 and determines, based on the threshold, whether or not the fan array 110 is operating “normally”, in which case the autonomous state of the fan module 104 is determined to be normal. If the autonomous state of the fan module 104 is determined to not be normal based on the status signal 132, then the autonomous state is fast. Moreover, even if the shelf controller 118 determines that the state of the fan module 104 is normal, if the fan module controller 112 determines that the autonomous state of the fan module 104 is not normal, the fan module controller 112, in one embodiment, will autonomously control the fan array 110 based upon the fast speeds defined for the set profile regardless of any other prior setting before the failure was determined.

FIG. 3 shows an exemplary procedure for setting the fan profile. At S 301 the procedure begins and at S303 the binary switches 116 are manually set corresponding to a desired profile, which may correspond to a chassis deployment environment listed in Table 1 (e.g., telecommunications and data center). However, for troubleshooting purposes, for example, a technician can change the setting of the switch 108 to a setting that is not based on the chassis installation environment. At S305 the procedure ends. With the switch 108 set, the switch 108 can be covered to prevent further alteration of the switch 108 settings.

FIG. 4 shows an exemplary procedure of setting the state of the fan module 104 by the shelf controller 118. In one embodiment, the shelf controller 118 is constructed to perform the procedure of FIG. 4. At S401 the procedure begins and at S403 the shelf controller 118 reads the temperature sensor 120. At S405 memory 119, which stores temperature data corresponding to fan profiles, is read to obtain a threshold temperature defined for the profile set, such as in FIG. 3. It is determined at S407 whether or not the sensed temperature exceeds the threshold. If it is determined that the sensed temperature exceeds the threshold (i.e., YES at S407), then the fan module state is set to “fast” at S409. If it is determined that the sensed temperature does not exceed the read threshold (i.e., NO at S407), then the fan module state is set to “normal” at S411. In either case, after S411 or S409, control passes to S413 where there is a delay of a predefined “monitoring period” (e.g., a few seconds), after which the procedure returns to S403.

FIG. 5 shows an exemplary procedure of setting the fan speed by the fan module controller 112. In one embodiment, the fan module controller 112, constructed as a field programmable gate array (FPGA) or complex programmable logic device (CPLD), is constructed to perform the procedure using digital logic. Alternatively, the procedure may be defined, at least in part, by program instructions stored in a memory, such as memory 115 and/or memory 119, which instructions can be accessed and executed by a controller, such as controllers 112 and/or 118, for affecting the procedure.

Initially at S501, the procedure begins and at S503 the fan module controller 112 reads the state of fan module 104, determined in the procedure of FIG. 4 (e.g., the result of S409 or S411), from API 133. At S505 the fan module controller 112 determines whether or not the read state is normal. If it is determined that the state of fan module 104 is normal (i.e., YES at S505), then an autonomous state of the fan module 104 is determined at S507, in accordance with a procedure described herein with reference to FIG. 6. If it is determined that the read state is not normal (i.e., NO at S505), then at S509 the fan profile setting is determined based on the setting of the fan profile switch 108. Control then passes to S521, which will be described below.

S511 is entered after S507 is performed. At S511 it is determined whether or not the determined autonomous state of the fan module 104 determined at S507 is normal. If it is determined that the autonomous state is normal (i.e., YES at S511), then at S513 the fan profile setting is determined based on the setting of the fan profile switch 108. If it is determined that the autonomous state is not normal (i.e., NO at S511), then at S509 the fan profile setting is determined based on the setting of the fan profile switch 108. Control then passes to S521, which will be described below.

Following S513, at S515 memory 115 is read by fan module controller 112 to obtain the “normal” PWM value corresponding to the set fan profile. For example, in table 140 in FIG. 2, for the profile defined by box 142, the normal (NR) speed of 73% would be read from column 144. At S517 a PWM signal having the read “normal” or “fast” PWM value is output via control signal 130 to the fan array 110. Then the procedure continues to S519. At S519 a waiting period elapses for a predefined “fan controller seconds”. At the end of the waiting period in S519, the procedure returns to S503, whereupon the state of fan module 104 is read again and the procedure then continues as described above.

The procedure at S521 will now be described. Following S509, at S521 memory 115 is read for the fast fan speed value corresponding to the set fan profile. For example, in table 140 in FIG. 2, for the profile defined by box 142, the fast speed of 100% would be read from column 146. The procedure then continues as described above at S517.

As a result of the procedure of FIG. 5, a speed setting is obtained and output to the fan array 110 with control signal 130. The speed setting sent to the fan array 110 is the normal or fast speed value in Table 1 or Table 140 in FIG. 2 corresponding to the profile set by the profile switch 108 and the fan(s) of the fan array 110 are operated at this speed.

FIG. 6 shows an exemplary sub-procedure for determining the autonomous state discussed at S507 in FIG. 5. At S601 the procedure begins and at S603 a “fast hold-off” timer is set by fan module controller 112 on startup of the fan module 104. At S605 fan status signal 132 of all fans in the array 110 is read by fan module controller 112. At S607 it is determined by fan failure monitor 138 of fan controller 112 based on signal 132, whether any of the fans in the array 110 have failed. For example, some fans may have a TAC signal corresponding to their operational speed that is transmitted to the fan module controller 112 as the status signal 132 shown in FIG. 2. The failure monitor 138 of the fan module controller 112 can monitor the status signal 132, and if it does not transition or is out of predefined frequency limits, the controller 112 can determine that one or more fans in the array 110 have failed. If it is determined that one or more fans in the array have failed (i.e., YES at S607), then the autonomous state of the fan module 104l is set by the fan module controller 112 to fast and then the procedure in FIG. 6 ends at S611. When in the fast state, the control signal 130 includes an output speed setting for all of the fans in the array 110. The fast speed corresponds to the profile set by switch 108.

Setting all of the fans in array 110 that have not failed to the fast speed in S609 is an attempt to safeguard the housed electronic components in the chassis 102 against failure owing to possible insufficient heat removal caused by reduced airflow from one or more failed fans 110. The fans in array 110 that have not failed can therefore be intentionally set to the fast speed to flow as much air through the chassis 102 as possible to offset for the reduced cooling capacity caused by the failed fan(s).

If it is determined that all of the fans in the array have not failed (i.e., NO at S607), then the fan module controller 112 reads API 133 at S613 to determine if the state of the fan module 104 has been set by the shelf controller 118. At S615 it is determined whether or not the fan module state is set, such as according to the procedure shown in FIG. 4. If it is determined that the state of the fan module 104 is set (i.e., YES at S615), then the autonomous state of fan module 104 is set to “normal” at S617 and the procedure then ends at S611 or continues on to S507 in the procedure shown in FIG. 5. If it is determined that the state of fan module 104 is not set (i.e., NO at S615), then a determination is made at S619 as to whether or not the “fast hold-off” timer has expired. If it is determined that the “fast hold-off” timer has expired (i.e., YES at S619), then in S609 the autonomous state of fan module 104 is set to “fast” and the procedure then continues to end at S611 or continues on to S507 in the procedure shown in FIG. 5. If it is determined that the “fast hold-off” timer has not expired (i.e., NO at S619), then the autonomous state of the fan module 104 is set to normal in S617 and the procedure ends at S611 or continues on to S507 in the procedure shown FIG. 5. Thus, the autonomous state of the fan module 104 is set to normal in S617 or fast (not normal) in S609 and such information in either case can be used in S507 of the procedure shown in FIG. 5 to set the speed of the fans in array 110.

The system, apparatus, and procedures described herein in one example permit one or more fan modules to be constructed which can be used in a chassis deployed in multiple deployment environments, which provides functionality that a chassis constructed with a conventional fan module may not already have. The deployment environment is configured when the chassis is installed and an operating fan module profile is set corresponding to the deployment environment by setting hardware switch 108. Moreover, because in one example the fan profiles are configured through hardware switch 108, the fan modules 104 can be adapted to operate in future or legacy deployment environments without accounting for interactions with existing software, such as EMS software, or later developed software.

While particular example embodiments have been shown and described, it will be obvious to those of skills in the art that based upon the teachings herein, changes and modifications may be made to the example embodiments without departing from these embodiments and their broader aspects. Therefore, the appended claims are intended to encompass within their scope all such changes and modifications as are within the true spirit and scope of the exemplary embodiments. 

1-23. (canceled)
 24. A method comprising: determining whether a fan state is normal; determining whether an autonomous fan state is normal; identifying a fan profile setting; generating, based on the fan profile setting, a normal fan speed signal for at least one fan, in a case where the fan state and the autonomous fan state are determined to be normal; and generating, based on the fan profile setting, a fast speed signal for a fan, in a case where the fan state and the autonomous fan speed are determined not to be normal.
 25. The method of claim 24, further comprising setting the fan state to one of a normal fan state or a fast fan state, based on a temperature, wherein the determining of whether the fan state is normal is based on the setting.
 26. The method of claim 25, wherein the temperature is a surrounding temperature in an environment of the at least one fan, the method further comprises detecting whether the surrounding temperature exceeds a threshold, and wherein the setting is based on a result of the detecting.
 27. The method of claim 24, wherein the identifying of the fan profile setting is performed based on a setting of a fan profile switch.
 28. The method of claim 24, wherein the determining of whether the autonomous fan state is normal comprises determining whether the at least one fan is failed.
 29. The method of claim 28, further comprising setting the autonomous fan state for one or more fans, where it is determined that the at least one fan is failed.
 30. The method of claim 28, wherein the determining of whether the autonomous fan state is normal comprises determining whether a fan module state is set.
 31. The method of claim 30, further comprising determining whether a timer has expired.
 32. The method of claim 31, wherein the generating of the fast fan speed signal is performed in response to determining that the timer has expired.
 33. A system, comprising: a memory storing a program; and a computer processor, operating under control of the program to perform a method comprising: determining whether a fan state is normal, determining whether an autonomous fan state is normal, identifying a fan profile setting, generating, based on the fan profile setting, a normal fan speed signal for at least one fan, in a case where the fan state and the autonomous fan state are determined to be normal, and generating, based on the fan profile setting, a fast speed signal for a fan, in a case where the fan state and the autonomous fan speed are determined not to be normal.
 34. The system of claim 33, wherein the method further comprises setting the fan state to one of a normal fan state or a fast fan state, based on a temperature, wherein the determining of whether the fan state is normal is based on the setting.
 35. The system of claim 34, wherein the temperature is a surrounding temperature in an environment of the at least one fan, the method further comprises detecting whether the surrounding temperature exceeds a threshold, and wherein the setting is based on a result of the detecting.
 36. The system of claim 33, wherein the identifying of the fan profile setting is performed based on a setting of a fan profile switch.
 37. The system of claim 33, wherein the determining of whether the autonomous fan state is normal comprises determining whether the at least one fan is failed.
 38. The system of claim 37, wherein the method further comprises setting the autonomous fan state for one or more fans, where it is determined that the at least one fan is failed.
 39. The system of claim 37, wherein the determining of whether the autonomous fan state is normal comprises determining whether a fan module state is set.
 40. The system of claim 39, wherein the method further comprises determining whether a timer has expired.
 41. The system of claim 40, wherein the generating of the fast fan speed signal is performed in response to determining that the timer has expired.
 42. A computer-readable medium storing instructions which, when executed by a computer processor, cause the computer processor to perform a method comprising: determining whether a fan state is normal; determining whether an autonomous fan state is normal; identifying a fan profile setting; generating, based on the fan profile setting, a normal fan speed signal for at least one fan, in a case where the fan state and the autonomous fan state are determined to be normal; and generating, based on the fan profile setting, a fast speed signal for a fan, in a case where the fan state and the autonomous fan speed are determined not to be normal.
 43. The computer-readable medium of claim 42, wherein the generating of the fast fan speed signal is performed in response to determining that a timer has expired. 